package com.rfid.common;
import java.util.List;


public interface ICardReader {

    public void setCardReaderErrorListener(CardReaderErrorListener listener);

    public byte[] read15693(byte addr);

    public ContactLessRespon readContactLessCard(List<byte[]> cmds);

    public IDCard readIDCard();

    public byte[] readM1Card(byte addr,byte secnr,byte[] key);

    public byte[] readContactLessPhyCardId();

    public String readContactCard(List<String> cmd);

    public void startQRCodeMonitor(QRCodeReadCallback callback);

    public int PICC_Reader_15693_Read(byte address, byte []bytes);

    public boolean checkConnect();

    public int iReadCardBasHSMStep1(int var1, byte[] var2);

    public int iReadCardBasHSMStep2(String var1, byte[] var2);

    public int iReadCardBas(int var1, byte[] var2);

    public void stopQRCodeMonitor();

    byte[] read14443(byte addr);

    int setTypeA();

    boolean findCard();

    int powerOnTypeA(byte[] rdata);

    int apdu(int length, byte[] sdata, byte[] rdata);

    int prePowerOn(byte t_samslot, byte[] rdata);

    int iccApdu(byte t_samslot, int length, byte[] sdata, byte[] rdata);

    String readWenZhouCitizenInfo();


    public interface QRCodeReadCallback {

        public void onQRCodeReceived(byte data[]);
    }

    public interface  CardReaderErrorListener {
        public void onCardReaderError();
        public void onCardReaderErrorReset();
    }
}